<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<script type="text/javascript">

		var obj = new Object();

		/*
		 * 向对象中添加属性
		 * 属性名：
		 * 	- 对象的属性名不强制要求遵守标识符的规范
		 * 		什么乱七八糟的名字都可以使用
		 * 	- 但是我们使用是还是尽量按照标识符的规范去做
		 * 
		 */
		obj.name = "孙悟空";

		//obj.var = "hello";

		/*
		 * 如果要使用特殊的属性名，不能采用.的方式来操作
		 * 	需要使用另一种方式：
		 * 		语法：对象["属性名"] = 属性值
		 * 	读取时也需要采用这种方式
		 * 
		 * 使用[]这种形式去操作属性，更加的灵活，
		 * 	在[]中可以直接传递一个变量，这样变量值是多少就会读取那个属性
		 * 
		 */
		obj["123"] = 789;
		obj["nihao"] = "你好";
		var n = "nihao";
		//console.log(obj["123"]);

		/*
		 * 属性值
		 * 	JS对象的属性值，可以是任意的数据类型
		 * 		甚至也可以是一个对象
		 */

		obj.test = true;
		obj.test = null;
		obj.test = undefined;

		//创建一个对象
		var obj2 = new Object();
		obj2.name = "猪八戒";

		//将obj2设置为obj的属性
		obj.test = obj2;

		//console.log(obj.test.name);

		/*
		 * in 运算符
		 * 	- 通过该运算符可以检查一个对象中是否含有指定的属性
		 * 		如果有则返回true，没有则返回false
		 *  - 语法：
		 * 		"属性名" in 对象
		 */
		//console.log(obj.test2);

		//检查obj中是否含有test2属性
		//console.log("test2" in obj);
		//console.log("test" in obj);
		console.log("name" in obj);

	</script>
</head>

<body>
</body>

</html>